Unwire collab_ui, notifications, and Zed Cloud surfaces from the binary - #41
Merged
Conversation
Step 1 of removing Zed's hosted collab feature from PaddleBoard. - Delete the entire crates/title_bar/src/collab.rs submodule (722 LOC): collaborator list, call controls, screen-share popover. - Remove ActiveCall observers and the share_project / unshare_project / observe_diagnostics / active_call_changed methods from title_bar.rs. - Drop call, channel, livekit_client from title_bar/Cargo.toml. - Update the "Please restart/update PaddleBoard to Collaborate" upgrade-required strings to drop the "to Collaborate" suffix; the surface still applies to the cloud LLM connection. cargo check -p title_bar is clean. The collab_ui crate still references title_bar::collab::* and will fail to build until it is itself stripped in a later commit on this branch. Release Notes: - N/A Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Step 2 of removing Zed's hosted collab feature from PaddleBoard.
The file finder used to surface "Channel Notes" entries inline with
file matches, dispatching workspace::OpenChannelNotesById on confirm.
Without the channel/collab_ui crates there's no channel store to
read from, so drop the entire Match::Channel variant and every
match arm that handled it.
- Remove Match::Channel from the Match enum and every place it's
matched (relative_path, abs_path, panel_match, match_score,
labels_for_match, confirm, render_match, and the test helpers).
- Remove the channel-matching block (~60 lines) that read channels
from ChannelStore and scored them by name.
- Drop the channel_store field from FileFinderDelegate.
- Drop channel, client, and fuzzy from file_finder/Cargo.toml.
`fuzzy::StringMatch{,Candidate}` were only used by the channel
path; `client::ChannelId` likewise.
cargo check -p file_finder --tests is clean. The include_channels
setting in FileFinderSettings stays (settings_content/open_path_prompt
crates untouched); it just no longer has anything to gate.
Release Notes:
- Removed the file finder's "Channel Notes" inline matches (Zed Cloud collab feature, never functional in PaddleBoard).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Step 3 of removing Zed's hosted collab feature from PaddleBoard. NotificationStore handled the rpc::Notification stream from the Zed Cloud collab server: contact requests, channel invitations, channel-message mentions. Without the channel/collab_ui crates there's nothing left to surface from it. Only collab_ui (going away) and collab integration tests (going away) used it. The local StatusToast UI is a separate surface in this same crate and stays — agent_ui, keymap_editor, etc. all use it. - Delete crates/notifications/src/notification_store.rs (428 LOC). - Reduce notifications.rs to just `pub mod status_toast;`. - Strip channel, client, rpc, sum_tree, time, anyhow, futures-lite, util from Cargo.toml — all were only used by NotificationStore. cargo check -p notifications is clean. paddleboard still calls notifications::init() (in main.rs and zed.rs) which no longer exists; those call sites are removed in a later commit on this branch as part of stripping paddleboard's collab_ui wiring. Release Notes: - N/A Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Step 4 of removing Zed's hosted collab feature from PaddleBoard. When committing inside a Zed Cloud collab room, the git panel suggested everyone in the room as a "Co-authored-by:" line on the commit message. Without the call/channel crates there is no room to read from, so collapse the entire feature. - potential_co_authors becomes a no-op returning Vec::default(). - Delete local_committer(&self, room: &call::Room, ...) which read the local participant from the room. - Delete pub fn load_local_committer and its commit_modal caller; it cached the local git committer for the room-suggestion path, which no longer exists. - Remove the local_committer and local_committer_task fields and their constructor inits. - In Render::render, drop the `let room = ...` binding and replace has_co_authors with `false`. The ToggleFillCoAuthors action is still defined but the action handler is gated on has_write_access && has_co_authors so it stays disabled. - Drop GitCommitter / get_git_committer imports (only used by the removed code path) and call from git_ui/Cargo.toml. cargo check -p git_ui is clean. The add_coauthors field, toggle_fill_co_authors action handler, render_co_authors helper, and fill_co_authors method are intentionally preserved: they're gated on potential_co_authors being non-empty, so they short- circuit safely. Keeping them minimizes the upstream-file diff. Release Notes: - Removed the git panel's "suggest co-authors from collab room" feature (Zed Cloud collab feature, never functional in PaddleBoard). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Drops the collab_ui crate as a paddleboard dependency and removes every call site that pulled CollabPanel / ChannelView / collab_ui::init into the running app: main.rs init block + zed-link URL handling + zed.rs panel registration and ToggleFocus action + View > Collab Panel menu item + the test bootstrap. Also drops two notifications::init(...) calls that were left behind when the Zed Cloud NotificationStore was deleted. The collab_ui crate stays in the workspace tree (still has compile errors from prior surface rips); it just is not compiled into the paddleboard binary anymore. This makes the workspace.rs AutoWatch / screen-share / leader-routing surface truly dead, which a follow-up commit can then strip without the collab_ui consumer ghost-pinning it. Also drops a stale call::RemoteParticipant doc comment from the workspace shim that it abstracts away.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Upstream drift reportComparing PaddleBoard
Generated by |
Remove the screen-sharing / auto-watch feature surface from workspace, call, and feature_flags: - workspace.rs: delete AutoWatch enum, open_shared_screen, toggle_auto_watch, shared_screen_for_peer, and the three handle_auto_watch_* methods. Remove is_sharing_screen, create_shared_screen, and peer_ids_with_video_tracks from the AnyActiveCall trait. Drop RemoteVideoTracksChanged, LocalScreenShareStarted, LocalScreenShareStopped from ActiveCallEvent. Remove ScreenShare action. - call_impl/mod.rs: remove the matching trait impl methods and event-mapping arms. Clean up now-unused imports. - feature_flags: delete AutoWatchFeatureFlag (only consumer was the already-unlinked collab_ui). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This was referenced May 24, 2026
Merged
jasonsmithio
added a commit
that referenced
this pull request
May 26, 2026
Remove the crate directory, workspace member entry, and collab test dependency. The crate was already unlinked from the binary in PR #41. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 task
jasonsmithio
added a commit
that referenced
this pull request
May 31, 2026
Unwire collab_ui, notifications, and Zed Cloud surfaces from the binary
jasonsmithio
added a commit
that referenced
this pull request
May 31, 2026
Remove the crate directory, workspace member entry, and collab test dependency. The crate was already unlinked from the binary in PR #41. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
collab_uicrate from the paddleboard binary — removecollab_ui::init,CollabPanel::load, channel-URL handling, app-menu entry, and keybindToggleFocusregistrationNotificationStore(~430 LOC) from thenotificationscratetitle_bar(~720 LOC),file_finder(channel-notes search), andgit_ui(co-authors-from-collab-room)cargo check -p paddleboardand./script/clippy -p paddleboardboth cleanThe collab/livekit crates themselves still exist in the workspace tree but are no longer referenced by the paddleboard binary. Follow-up PRs will do the deeper surgery: workspace.rs follower-protocol rip, then crate-level deletion of
collab_ui,call,collab, andlivekit_*.Test plan
cargo check -p paddleboardclean./script/clippy -p paddleboard(release, all targets, deny warnings) cleanRelease Notes: